import { FormDataTypeEnum, InputTypeEnum, Model } from 'easy-descriptor'

/**
 * 数据字典表
 */
@Model({
  name: 'SysDict',
  tree: true
})
export default class SysDict extends BaseModel {
  @EField()
  $selection?: boolean
  /**
   * 父级字典
   */
  @EField('父级字典', { inputProps: { topPid: '0', async: false } })
  @EField.Hidden(['list'])
  @EField.Dict('#sys_dict')
  @EField.DataType(FormDataTypeEnum.STRING, InputTypeEnum.TREE_SELECT)
  parentId?: string
  /**
   * 字典名称
   */
  @EField('字典名称', { width: 150 })
  @EField.DataType(FormDataTypeEnum.STRING, InputTypeEnum.TEXT)
  dictName?: string
  /**
   * 字典编码
   */
  @EField('字典编码')
  @EField.DataType(FormDataTypeEnum.STRING, InputTypeEnum.TEXT)
  dictCode?: string
  /**
   * 排序
   */
  @EField('排序', { defaultValue: 1.0 })
  @EField.Hidden(['query'])
  @EField.DataType(FormDataTypeEnum.STRING, InputTypeEnum.INPUT_NUMBER)
  sortOrder?: string
  /**
   * 描述
   */
  @EField('描述', { formSpan: 2 })
  @EField.Hidden(['query', 'list'])
  @EField.DataType(FormDataTypeEnum.STRING, InputTypeEnum.TEXT_AREA)
  description?: string
  /**
   * 是否允许修改
   */
  @EField('是否允许修改', { defaultValue: 1, formSpan: 2 })
  @EField.Dict()
  @EField.Hidden(['query'])
  @EField.DataType(FormDataTypeEnum.STRING, InputTypeEnum.SWITCH)
  allowUpdate?: string
  /**
   * 是否允许删除
   */
  @EField('是否允许删除', { defaultValue: 1, formSpan: 2 })
  @EField.Dict()
  @EField.Hidden(['query'])
  @EField.DataType(FormDataTypeEnum.STRING, InputTypeEnum.SWITCH)
  allowDelete?: string
  /**
   * 字典类型
   */
  // @EField('字典类型')
  // @EField.Dict()
  // @EField.DataType(FormDataTypeEnum.STRING, InputTypeEnum.SELECT)
  // dictType?: string
  /**
   * 版本
   */
  // @EField('版本')
  // @EField.Hidden()
  // @EField.DataType(FormDataTypeEnum.STRING)
  // version?: string
  /**
   * 启用标记
   */
  @EField('启用标记', { defaultValue: 1, formSpan: 2 })
  @EField.DataType(FormDataTypeEnum.NUMBER, InputTypeEnum.SWITCH)
  @EField.Dict()
  enableFlag?: string
}
